# 
# Created with PyCharm.
# Description :
# User: jiume
# Date: 2024-12-07
# Time: 21:26
#

class Police():
    # 类属性
    id = '人民警察'

    # 实例方法
    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex

    def identity(cls):
        print(f'我是{cls.id}')

class Underworld():
    id = '黑社会'

    # 实例方法
    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex

    def identity(cls):
        print(f'我是{cls.id}')

def deepIdentify(deepId):
    print(f'我是{deepId}')

chen = Police('陈永仁', 20, '男')

liu = Underworld('刘建明', 20, '男')

huang = Police('黄警官', 32, '男')

han = Underworld('韩琛', 34, '男')

print('故事背景：')
print('香港警方为了剿灭黑社会团体，于是安插了陈永仁在黑社会当卧底，'
      '而韩琛为了存活，则派遣刘建明等人潜入警方卧底')
print('命运的齿轮开始转动，两者的身份开始转换：')
print('='*30)

chen.id = '黑社会'
chen.deepId = '人民警察' # 动态绑定-属性
chen.deepIdentify  = deepIdentify # 动态绑定-方法

liu.id = '人民警察'
liu.deepId = '黑社会' # 动态绑定-属性
liu.deepIdentify  = deepIdentify # 动态绑定-方法

print(f'陈永仁的表面身份{chen.id},但其真实身份是{chen.deepId}')
print(f'刘建明的表面身份{liu.id},但其真实身份是{liu.deepId}')
print('='*30)

print(f'当陈永仁遇到{han.name}时，他会微笑着说出: ',end='')
chen.identity()
print(f'当陈永仁遇到{huang.name}时，他会情不自禁地说出: ',end='')
chen.deepIdentify (chen.deepId)
print('并时刻提醒自己不要堕落，要牢记初心与使用')
print('='*30)

print(f'当刘建明遇到{huang.name}时，他会微笑着说出: ',end='')
liu.identity()
print(f'当刘建明遇到{han.name}时，他会咬牙切齿地说出: ',end='')
liu.deepIdentify (liu.deepId)
print(f'并时刻想着杀了{han.name},过着自己现在的逍遥快乐的小日子')
print('='*30)

print('修改版剧情（纯写作需要，不喜勿喷）：')
print('最终，刘建明良心发现，主动自首，给警方提供了韩琛等人的违法犯罪行为的证据，'
      '警方立即出动，将其逮捕归案，陈永仁也成功获得了高级荣誉称号！')
print('接下来，就是修改 刘建明 与 陈永仁的相关档案了: ')

chen.id = '人民警察'
del chen.deepId
del chen.deepIdentify

liu.id = '黑社会'
del liu.deepId
del liu.deepIdentify

print(f'陈永仁的档案:{chen.name,chen.age,chen.sex,chen.id}')
print(f'刘建明的档案:{liu.name,liu.age,liu.sex,liu.id}')

# print(liu.deepId) # error
# print(chen.deepId) # error

# del liu
# del chen
# # print(liu) # error
# # print(chen) # error
#
# del Police
# del Underworld
#
# A = Police()
# A = Underworld()